package com.yiren.dbaa.module.practice_set.carmodel.contract;

import com.yiren.backstage.currency.entity.CarModelEntity;
import com.yiren.dbaa.currency.api.CommonCallBack;
import java.util.List;

/**
 * @author lwb
 * @date : 2022/12/5 14:56
 * @description:  车模首页
 */
public interface CarModelHomeContract {

    interface Presenter {
        /**
         * 加载车模列表
         * @param view
         */
        void loadCarModelList(View view);

        /**
         * 下载车模数据
         * @param carModel
         */
        void downLoadCarModel(CarModelEntity carModel, View view);

        /**
         * 删除车模数据
         * @param carModel
         * @param callBack
         */
        void deleteCarModel(CarModelEntity carModel, CommonCallBack callBack);
    }
    interface Model {

        /**
         * 从服务器获取已公开车模
         * @param id 账号id
         * @param isPublic 是否已公开
         */
        void getCarModelFromServer(String id,boolean isPublic, CommonCallBack callBack);

        /**
         * 合并车模数据
         * @param localModels
         * @param serverModels
         * @return
         */
        List<CarModelEntity> carModelHomeDataMerge(List<CarModelEntity> localModels, List<CarModelEntity> serverModels);

        /**
         * 下载车模数据
         * @param callBack
         */
        void downLoadCarModelPoint(CarModelEntity carModel, CommonCallBack  callBack);


    }

    interface View {
        /**
         * 显示车模
         */
        void showCarModel(List<CarModelEntity> carList);

        /**
         * 刷新列表
         */
        void refreshCarModelList();
    }


}
